package com.jahentao.testcase;


import java.io.File;
import java.util.HashMap;
import java.util.Map;

/**
 * 测试用例
 * @author jahentao
 * @version 1.0
 * @updated 26-5月-2017 18:02:46
 */
public class TestCase {

	/**
	 * 测试用例输入文件
	 */
	protected File testCaseInFile;
	/**
	 * 测试用例输出文件
	 */
	protected File testCaseOutFile;

    /**
	 * 映射从输入文件中读取的数据<br>
     * 约定map中有一个key：inputData 是存储的测试用例输入字符串<br>
     * 后续扩展：当实现InputOutputFormat的输入数据封装成对象时，map中添加该测试用例输入的对象
	 */
	protected Map<String, Object> inMap;

    /**
     * 映射输出文件中输出的数据<br>
     * 约定map中有一个key：outputData 是存储的测试用例输出字符串<br>
     * 后续扩展：当实现InputOutputFormat的输出数据封装成对象时，map中添加该测试用例输出的对象
     */
	protected Map<String, Object> outMap;

	public TestCase(){

	}

	/**
	 *
	 * @param testCaseInFile 输入测试数据文件
	 * @param testCaseOutFile 输出测试结果文件
	 */
	public TestCase(File testCaseInFile, File testCaseOutFile){
		this.testCaseInFile = testCaseInFile;
		this.testCaseOutFile = testCaseOutFile;
	}


	public File getTestCaseInFile(){
		return this.testCaseInFile;
	}

	public File getTestCaseOutFile(){
		return this.testCaseOutFile;
	}

	public void setTestCaseInFile(File testCaseInFile){
		this.testCaseInFile = testCaseInFile;
	}

	public void setTestCaseOutFile(File testCaseOutFile){
		this.testCaseOutFile = testCaseOutFile;
	}

    public Map<String, Object> getInMap() {
        return inMap ==null?(inMap =new HashMap<String,Object>()): inMap;
    }

    public void setInMap(Map<String, Object> inMap) {
        this.inMap = inMap;
    }

    public Map<String, Object> getOutMap() {
        return outMap==null?(outMap =new HashMap<String,Object>()): outMap;
    }

    public void setOutMap(Map<String, Object> outMap) {
        this.outMap = outMap;
    }

}